#if !defined(_APP_BT)
#define _APP_BT
#include "app_device.h"
#define CONN_TYPE_BT 1

typedef enum
{
    BT_BAUD_9600 = '4',
    BT_BAUD_115200 = '8',
} BT_BAUD_RATE;


/**
 * @brief 蓝牙初始化配置
 * 1  设置 预处理方法 2个  写前  和读后
 * 2  设置 蓝牙相关的参数n默认值  波特率 网络id 网络u短地址 网络名称
 *
 * 
 */
int app_bt_init(device_t *device );


/**
 * @brief 蓝牙写前预处理 
 * @param 处理前的数据
 * @param 处理前的数据长度
 * @return 预处理后的数据ng长度
 */
int app_bt_pre_write(char* data,int data_len);
 

/**
 * @brief 蓝牙读后预处理 
 * @param 处理前的数据
 * @param 处理前的数据长度
 * @return 预处理后的数据长度
 */
int app_bt_post_read(char* data,int data_len);


/**
 * @brief 蓝牙连通测试   AT/r/n
 * @param device_t *device 
 * @return int 0:成功  -1:失败
 */
int app_bt_status(device_t *device);


/**
 * @brief 蓝牙芯片重启   AT+RESET/r/n
 * @param device_t *device 
 * @return int 0:成功  -1:失败
 */
int app_bt_reset(device_t *device);

/**
 * @brief 设置波特率   AT+BAUD?/r/n
 * @param device_t *device  波特率
 * @return int 0:成功  -1:失败
 */
int app_bt_set_baud(device_t *device,BT_BAUD_RATE baud);

/**
 * @brief 设置网络id   AT+NETID?/r/n
 * @param device_t  *device  网络id
 * @return int 0:成功  -1:失败
 */
int app_bt_set_netid(device_t *device,char* netid);


/**
 * @brief 设置网络地址  AT+MADDR?/r/n
 * @param device_t  *device  网络地址
 * @return int 0:成功  -1:失败
 */
int app_bt_set_netid(device_t *device,char* MADDR);

 
 /**
 * @brief 设置设备名称   AT+NAME?/r/n
 * @param device_t  *device  设备名称
 * @return int 0:成功  -1:失败
 */
int app_bt_set_name(device_t *device,char* name);


 /**
 * @brief 设置整体参数的默认值
 * @param device_t  *device   
 * @return int 0:成功  -1:失败
 */
int app_bt_set_default_all(device_t *device );


#endif // _APP_BT
